Microdata (HTML)

Microdata is a WHATWG HTML specification used to nest semantics within existing content on web pages.[1] Search engines, web crawlers, and browsers can extract and process Microdata from a web page and use it to provide a richer browsing experience for users. Microdata use a supporting vocabulary to describe an item and name-value pairs to assign values to its properties.[2] Microdata helps technologies such as search engines and web crawlers better understand what information is contained in a web page, providing better search results. Microdata is an attempt to provide a simpler way of annotating HTML elements with machine readable tags than the similar approaches of using RDFa and Microformats.

Contents

Microdata Vocabularies

Microdata vocabularies provide the semantics, or meaning of an Item. Web developers can design a custom vocabulary or use vocabularies available on the web. A collection of commonly used (and Google Supported[3]) Microdata vocabularies located at http://data-vocabulary.org which include: Person, Event, Organization, Product, Review, Review-aggregate, Breadcrumb, Offer, Offer-aggregate. Other markup vocabularies are provided by Schema.org schemas. Major search engines rely on this markup to improve search results. For some purposes, an ad-hoc vocabulary is adequate. For others, a vocabulary will need to be designed. Where possible, authors are encouraged to re-use existing vocabularies, as this makes content re-use easier.[1]

Microdata Global Attributes

Example

The following markup may be found on a typical about page containing information about a person:

<section> Hello, my name is John Doe, I am a graduate research assistant at the University of Dreams. My friends call me Johnny. 
You can visit my homepage at <a href="http://www.JohnnyD.com">www.JohnnyD.com</a>. I live at 1234 Peach Drive Warner Robins, Georgia.</section>

Here is the same markup with added Microdata:

<section itemscope itemtype="http://data-vocabulary.org/Person"> 
	Hello, my name is 
	<span itemprop="name">John Doe</span>, 
	I am a 
	<span itemprop="title">graduate research assistant</span> 
	at the 
	<span itemprop="affiliation">University of Dreams</span>. 
	My friends call me 
	<span itemprop="nickname">Johnny</span>. 
	You can visit my homepage at 
	<a href="http://www.JohnnyD.com" itemprop="url">www.JohnnyD.com</a>. 
	<section itemprop="address" itemscope itemtype="http://data-vocabulary.org/Address">
		I live at 
		<span itemprop="street-address">1234 Peach Drive</span> 
		<span itemprop="locality">Warner Robins</span>
		, 
		<span itemprop="region">Georgia</span>.
	</section>
</section>

As the above example shows, Microdata items can be nested. In this case an item of type http://data-vocabulary.org/Address is nested inside an item of type http://data-vocabulary.org/Person.

The following text shows how Google parses the Microdata from the above example code. Developers can test pages containing Microdata using Google's Rich Snippet Testing Tool.[3]

Item
   Type: http://data-vocabulary.org/Person
   name = John Doe
   title = graduate research assistant
   affiliation = University of Dreams
   nickname = Johnny
   url = http://www.johnnyd.com/
   address = Item(1)
Item 1
   Type: http://data-vocabulary.org/Address
   street-address = 1234 Peach Drive
   locality = Warner Robins
   region = Georgia

Support

Google can[4] use microdata in its result pages.[3]

Currently, the only stable release of a browser that supports the Microdata DOM API, is Opera from version 11.60.[5]

MicrodataJS[6] is a JavaScript library and jQuery plugin that emulates the DOM API.

See also

Earlier related work

References

External links